namespace ext.dd
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// A DragDrop implementation that inserts an empty, bordered div into
	/// the document that follows the cursor during drag operations. At the time of
	/// the click, the frame div is resized to the dimensions of the linked html
	/// element, and moved to the exact location of the linked element.
	///
	/// References to the &quot;frame&quot; element refer to the single proxy element that
	/// was created to be dragged in place of all DDProxy elements on the
	/// page.
	/// </summary>
	/// <definedin>src\dd\DDCore.js</definedin>
	[ScriptName("DDProxy")]
	[ScriptNamespace("Ext.dd")]
	[Imported()]
	public partial class DDProxy : ext.dd.DD
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="id">the id of the linked html element</param>
		/// <param name="sGroup">the group of related DragDrop objects</param>
		/// <param name="config">
		/// an object containing configurable attributes
		/// Valid properties for DDProxy in addition to those in DragDrop:
		/// resizeFrame, centerFrame, dragElId
		/// </param>
		public DDProxy(string id, string sGroup, object config)
		{
		}
		
		/// <summary>Constructor</summary>
		public DDProxy()
		{
		}
		#endregion
		
		#region Properties
		/// <summary>The default drag frame div id</summary>
		/// <definedin>src\dd\DDCore.js</definedin>
		[ScriptName("ExtddDDProxydragElId")]
		[IntrinsicProperty()]
		public static string ExtddDDProxydragElId
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// By default we resize the drag frame to be the same size as the element
		/// we want to drag (this is to get the frame effect). We can turn it off
		/// if we want a different behavior.
		/// </summary>
		/// <definedin>src\dd\DDCore.js</definedin>
		[ScriptName("resizeFrame")]
		[IntrinsicProperty()]
		public bool ResizeFrame
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// By default the frame is positioned exactly where the drag element is, so
		/// we use the cursor offset provided by Ext.dd.DD. Another option that works only if
		/// you do not have constraints on the obj is to have the drag frame centered
		/// around the cursor. Set centerFrame to true for this effect.
		/// </summary>
		/// <definedin>src\dd\DDCore.js</definedin>
		[ScriptName("centerFrame")]
		[IntrinsicProperty()]
		public bool CenterFrame
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		#endregion
		
		#region Methods
		/// <summary>Creates the proxy element if it does not yet exist</summary>
		/// <definedin>src\dd\DDCore.js</definedin>
		[ScriptName("createFrame")]
		public void CreateFrame()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Initialization for the drag frame element. Must be called in the
		/// constructor of all subclasses
		/// </summary>
		/// <definedin>src\dd\DDCore.js</definedin>
		[ScriptName("initFrame")]
		public void InitFrame()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
